<h2>drag.js</h2>
<p>Provides dragging (moving) capability for any DOM node</p>
<hr/>

<h3>Functions</h3>
<ul>
	<li><a href="#create">OAT.Drag.create(clicker, mover, optObj)</a></li>
	<li><a href="#remove">OAT.Drag.remove(clicker, mover)</a></li>
	<li><a href="#removeall">OAT.Drag.removeAll(clicker)</a></li>
</ul>

<h3>Constants</h3>
<ul>
	<li>OAT.Drag.TYPE_X</li>
	<li>OAT.Drag.TYPE_Y</li>
	<li>OAT.Drag.TYPE_XY</li>
</ul>

<hr/>

<h3><a name="create">OAT.Drag.create(clicker, mover, optObj)</a></h3>
<p>Modifies element <em>mover</em> such that clicking and moving on <em>clicker</em> will cause it to move. 
Additional options can be specified using <em>optObj</em> object:</p>
<ul>
	<li>type - one of the constants, specifies direction in which the dragging will be possible</li>
	<li>restrictionFunction - callback which specifies movement restriction</li>
	<li>endFunction - callback to be executed when dragging ends</li>
	<li>magnetsH - array of elements to horizontaly snap to</li>
	<li>magnetsV - array of elements to vertically snap to</li>
	<li>cursor - bool, adjust automatically css cursor?</li>
</ul>
<p class="code">
var header = Dom.create("div"); <br/>
var body = Dom.create("div"); <br/>
body.appendChild(header); <br/>
OAT.Drag.create(header, body, {type:TYPE_XY});
</p>

<h3><a name="#remove">OAT.Drag.remove(clicker, mover)</a></h3>
<p>Removes dragging relation between <em>clicker</em> and <em>mover</em>.

<h3><a name="#removeall">OAT.Drag.removeAll(clicker)</a></h3>
<p>Removes all dragging relations from <em>clicker</em>.
